/*
 * CurvaSpline.h
 *
 *  Created on: 15/10/2013
 *      Author: ezequiel
 */

#ifndef CURVASPLINE_H_
#define CURVASPLINE_H_
#include <glm/glm.hpp>
#include <vector>
#include <stdlib.h>
#include <iostream>
using namespace std;
class CurvaSpline {
public:
	CurvaSpline(vector<glm::vec3> pControl, int divisiones);
	virtual ~CurvaSpline();
	vector<glm::vec3> obtenerPuntos();
	glm::vec3 proximoPunto();
private:
	glm::vec3 siguientePunto();
	float u;
	float divisiones;
	glm::vec3 p0, p1, p2, p3;
	float getB0(float);
	float getB1(float);
	float getB2(float);
	float getB3(float);
	vector<glm::vec3> pControl;

	bool terminado ;
	unsigned int iterador;
};

#endif /* CURVASPLINE_H_ */
